package com.cmyshare.design.prototypePattern;

/**
 * @version 1.0
 * @Author cmy
 * @Date 2023/10/12 17:03
 * @desc 1、原型类，实现Cloneable接口。Prototype声明一个克隆自身的接口。
 */
public class Prototype implements Cloneable {
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    @Override
    public Object clone() {
        try {
            //调用Prototype父类Object下的clone方法，因为Object实现了Cloneable接口，支持抛出不支持克隆异常CloneNotSupportedException
            return super.clone();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}
